package 数组;

/**
 * @Author Weton Li
 * @Date 2021/4/28 12:23
 */
public class 移动零到末尾 {

    public static int[] method(int[] arr) {

        int l = 0;

        int r = 0;

        int n = arr.length;

        while (r < n) {

            if (arr[r] != 0) {
                swap(l, r, arr); // 你交换的永远是我交换后移动左指针后左指针指向的0
                l++;
            }

            r++;
        }

        return arr;
    }

    private static void swap(int l, int r, int[] arr) {
        int temp = arr[l];
        arr[l] = arr[r];
        arr[r] = temp;
//        return arr;
    }

    public static void main(String[] args) {
        int[] input = {0, 1, 0, 3, 12};
        for (int i : method(input)) {
            System.out.print(i + "\t");
        }
    }
}
